home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / joke / m_clock / source / rctime.bas < prev    next >
Encoding:
BASIC Source File  |  1995-02-16  |  5.4 KB  |  116 lines

  1. 20000 '********************************************************************
  2. 20010 '**     冗談ビデオソフト 「MultiClock」  V1.1              **
  3. 20030 '** RC-TIMECORD表示部分 For 8DOTFONT    By ちくちくうにうに        **
  4. 20040 '********************************************************************
  5. 20050 '
  6. 20060 SCREEN 1,1,0:SCREEN@ 1:CLS:LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
  7. 20070 DIM DAT%(19200),PT%(3)                  ' 配列(PT%)は 8バイト 必要
  8. 20080 LOADM"fnt_ar.rex",0 'ToYoZo氏の8DOTFONT-LOADER
  9. 20090 SCREEN 1,1:LINE(0,0)-(8*16-1,7),PSET,0,BF
  10. 20100 FOR I&=0 TO 15
  11. 20110   A$=MID$("TCR 0123456789:・",I&+1)
  12. 20120   CALLM 0 ,ASC(A$),&H14,VARPTR(PT%(0))  ' 配列 PT%() にパターン格納
  13. 20130   X=I&*8:Y=0
  14. 20140   PUT@(X,Y)-(X+7,Y+7),PT%               ' パターン表示
  15. 20150 NEXT
  16. 20160 GET@A(0,0)-(159,119),DAT%:LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
  17. 20170 PUT@A(0,0)-(159,119),DAT%,PSET,2,2  '2倍にした8×8DOT
  18. 20180 ERASE DAT%,PT%:DIM FONT%(256*16)
  19. 20190 FOR I&=0 TO 15
  20. 20200   X=I&*16:Y=0
  21. 20210   GET@A(X,Y)-(X+15,Y+15),FONT%,256*I&
  22. 20220 NEXT
  23. 20230 LINE(0,0)-(319,239),PSET,[0,0,0,1],BF
  24. 20240 '
  25. 20250 SCREEN 1,1,2:GOSUB *準備
  26. 20260 '
  27. 20270 '===================================================================
  28. 20280 '                         メインルーチン
  29. 20290 '===================================================================
  30. 20300 SIMPOSE ON
  31. 20310 *繰り返し
  32. 20320  OLDTIME$=TIME$:FLAME=FLAME+1:WAIT 2
  33. 20330  IF FLAME=30 THEN FLAME=0
  34. 20340 '
  35. 20350  GOSUB *時刻表示
  36. 20360 '
  37. 20370 GOTO *繰り返し
  38. 20380 '
  39. 20390 '===================================================================
  40. 20400 '                時刻の表示をするサブルーチン
  41. 20410 '===================================================================
  42. 20420 *時刻表示
  43. 20430  OH1$=NH1$:OH2$=NH2$
  44. 20440  OM1$=NM1$:OM2$=NM2$
  45. 20450  OS1$=NS1$:OS2$=NS2$
  46. 20460  OF1$=NF1$:OF2$=NF2$
  47. 20470 '
  48. 20480  NH1$=LEFT$(TIME$,1) :NH2$=MID$(TIME$,2,1)
  49. 20490  NM1$=MID$(TIME$,4,1):NM2$=MID$(TIME$,5,1)
  50. 20500  NS1$=MID$(TIME$,7,1):NS2$=RIGHT$(TIME$,1)
  51. 20510  TMP$=RIGHT$(STR$(FLAME),2)
  52. 20520  NF1$=LEFT$(TMP$,1):NF2$=RIGHT$(TMP$,1)
  53. 20530 '
  54. 20540  IF OH1$<>NH1$ THEN                                                        PUT@A(6*16+8,12)-(7*16+8-1,27),FONT%,,,,,(256*(VAL(NH1$)+4))
  55. 20550  IF OH2$<>NH2$ THEN                                                        PUT@A(7*16+8,12)-(8*16+8-1,27),FONT%,,,,,(256*(VAL(NH2$)+4))
  56. 20560  IF OM1$<>NM1$ THEN                                                        PUT@A(9*16+8,12)-(10*16+8-1,27),FONT%,,,,,(256*(VAL(NM1$)+4))
  57. 20570  IF OM2$<>NM2$ THEN                                                        PUT@A(10*16+8,12)-(11*16+8-1,27),FONT%,,,,,(256*(VAL(NM2$)+4))
  58. 20580  IF OS1$<>NS1$ THEN                                                        PUT@A(12*16+8,12)-(13*16+8-1,27),FONT%,,,,,(256*(VAL(NS1$)+4))
  59. 20590  IF OS2$<>NS2$ THEN                                                        PUT@A(13*16+8,12)-(14*16+8-1,27),FONT%,,,,,(256*(VAL(NS2$)+4))
  60. 20600  IF OF1$<>NF1$ THEN                                                        PUT@A(15*16+8,12)-(16*16+8-1,27),FONT%,,,,,(256*(VAL(NF1$)+4))
  61. 20610  IF OF2$<>NF2$ THEN                                                        PUT@A(16*16+8,12)-(17*16+8-1,27),FONT%,,,,,(256*(VAL(NF2$)+4))
  62. 20620  RETURN
  63. 20630 '
  64. 20640 '===================================================================
  65. 20650 '                画面の準備をするサブルーチン
  66. 20660 '===================================================================
  67. 20670 *準備
  68. 20680 '
  69. 20690  LINE(2*16+8,12)-(17*16-1+8,27),PSET,0,BF
  70. 20700  FLAME=0
  71. 20710 '
  72. 20720  NH1$=LEFT$(TIME$,1) :NH2$=MID$(TIME$,2,1)
  73. 20730  NM1$=MID$(TIME$,4,1):NM2$=MID$(TIME$,5,1)
  74. 20740  NS1$=MID$(TIME$,7,1):NS2$=RIGHT$(TIME$,1)
  75. 20750  TMP$=RIGHT$(STR$(FLAME),2)
  76. 20760  NF1$=LEFT$(TMP$,1):NF2$=RIGHT$(TMP$,1)
  77. 20770 '
  78. 20780  PUT@A(2*16+8,12)-(3*16+8-1,27),FONT%,,,,,(256*0)
  79. 20790  PUT@A(3*16+8,12)-(4*16+8-1,27),FONT%,,,,,(256*1)
  80. 20800  PUT@A(4*16+8,12)-(5*16+8-1,27),FONT%,,,,,(256*2)
  81. 20810  PUT@A(5*16+8,12)-(6*16+8-1,27),FONT%,,,,,(256*3)
  82. 20820  PUT@A(6*16+8,12)-(7*16+8-1,27),FONT%,,,,,(256*(VAL(NH1$)+4))
  83. 20830  PUT@A(7*16+8,12)-(8*16+8-1,27),FONT%,,,,,(256*(VAL(NH2$)+4))
  84. 20840  PUT@A(8*16+8,12)-(9*16+8-1,27),FONT%,,,,,(256*14)
  85. 20850  PUT@A(9*16+8,12)-(10*16+8-1,27),FONT%,,,,,(256*(VAL(NM1$)+4))
  86. 20860  PUT@A(10*16+8,12)-(11*16+8-1,27),FONT%,,,,,(256*(VAL(NM2$)+4))
  87. 20870  PUT@A(11*16+8,12)-(12*16+8-1,27),FONT%,,,,,(256*14)
  88. 20880  PUT@A(12*16+8,12)-(13*16+8-1,27),FONT%,,,,,(256*(VAL(NS1$)+4))
  89. 20890  PUT@A(13*16+8,12)-(14*16+8-1,27),FONT%,,,,,(256*(VAL(NS2$)+4))
  90. 20900  PUT@A(14*16+8,12)-(15*16+8-1,27),FONT%,,,,,(256*15)
  91. 20910  PUT@A(15*16+8,12)-(16*16+8-1,27),FONT%,,,,,(256*(VAL(NF1$)+4))
  92. 20920  PUT@A(16*16+8,12)-(17*16+8-1,27),FONT%,,,,,(256*(VAL(NF2$)+4))
  93. 20930  MOUSE 0  'マウス初期化
  94. 20940  ON MOUSE(2) GOSUB *COUNTSTOP  :MOUSE(2) ON '左クリック
  95. 20950  ON MOUSE(4) GOSUB *COUNTRESET :MOUSE(4) ON '右クリック
  96. 20960  RETURN
  97. 20970 *MENU
  98. 20980  ERASE FONT%:MOUSE 5
  99. 20990  RUN "M_CLOCK.BAS" 'GOTO MAINPROG
  100. 21000 '
  101. 21010 *COUNTSTOP
  102. 21020  STOPTIME$=TIME$:STOPFLAME=FLAME
  103. 21030  *LOOP1
  104. 21040    IF MOUSE(2,0)=0 THEN 21070
  105. 21050    IF MOUSE(2,0) AND MOUSE(2,1) THEN RETURN *MENU
  106. 21060  GOTO *LOOP1
  107. 21070  TIME$=STOPTIME$:FLAME=STOPFLAME:RETURN
  108. 21080 '
  109. 21090 *COUNTRESET
  110. 21100  TIME$="00:00:00":FLAME=0:GOSUB *時刻表示
  111. 21110  *LOOP2
  112. 21120    IF MOUSE(2,1)=0 THEN 21150
  113. 21130    IF MOUSE(2,0) AND MOUSE(2,1) THEN RETURN *MENU
  114. 21140  GOTO *LOOP2
  115. 21150  TIME$="00:00:00":FLAME=0:RETURN'
  116.